﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OAuth2.Provider.Domain;
using OAuth2.Provider.AuthorizationEndpoint;
using OAuth2.Framework;
using OAuth2.Framework.Model;

namespace OAuth2.Provider.IService
{
    public interface IAuthorizationGrantService
    {

        AuthorizationGrantBase FindAuthorizationGrant(string authorizationCode);

        AuthorizationGrantBase IssueAuthorizationGrant(IAuthorizationContext context);

        void ConsumeGrant(AuthorizationGrantBase grant);

        bool ValidateGrant(ITokenContext context,AuthorizationGrantModel grant);
    }
}
